<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>JSDoc: Tutorial: 自述</title>

    <script src="scripts/prettify/prettify.js"> </script>
    <script src="scripts/prettify/lang-css.js"> </script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>

<body>

<div id="main">

    <h1 class="page-title">Tutorial: 自述</h1>

    <section>

<header>
    

    <h2>自述</h2>
</header>

<article>
    <h2>CtMobile</h2><p>&ensp;&ensp;一个移动端框架，支持页面的多种形式切换，页面转场，页面传值，通知等，适用于开发单页面应用(SPA)，混合开发(Hybrid)，Cordova开发。</p>
<h2>开发灵感</h2><p>&ensp;&ensp;期初刚接触Hybrid开发的时候公司选用的是jQueryMobile+Cordova的组合来开发混合应用，在用jQueryMobile的时候遇到了很多问题如管理类和Dom之间总是不能很好的有机结合在一起，当初的想法是如果在浏览器端每个局部页面和其管理类能像Android中的Activity一样就好了，所以灵感就来了，CtMobile的实现完全借助于Android中的Activity来实现。</p>
<h2>三大感念</h2><p>&ensp;&ensp;CtMoble中有三个重要的感念，分别是<strong>Page</strong>，<strong>Router</strong>，<strong>BorasdCast</strong>.
其中Page用来管理页面的创建，初始化，销毁的整个生命周期，Router管理这个框架的路由跳转，BorasdCast用来管理通知和页面之间的数据的通信交互。 </p>
<h2>开发模式</h2><ol>
<li>inline模式
所有的页面都写在一个html中(一般不推荐使用)</li>
<li>ajax模式
每个页面在需要的时候才进行加载，且只加载一次<h2>Page(页面)的启动模式</h2></li>
<li>standard
多例模式</li>
<li>single
单例模式(当点击返回时会销毁)</li>
<li>singleInstance
完全的单例模式(在任何时候都不会被销毁)</li>
<li>result
带有返回值的(可以向父页面带回返回值)</li>
<li><p>singleInstanceResult
带有返回值的完全单例(不会被销毁，可以向父页面带回返回值)</p>
<h2>Page(页面)的转场效果</h2><p>页面之间切换支持多种过度效果</p>
</li>
<li><p>slideleft-从右到左(overlay)</p>
</li>
<li>slideright-从左到右(overlay)</li>
<li>slideup-从下到上(overlay)</li>
<li>slidedown-从上到下(overlay)</li>
<li>wxslideleft-类似于微信的从右到左</li>
<li>wxslideright-类似于微信的从左到右</li>
<li>wxslideup-类似于微信的从下到上</li>
<li>wxslidedown-类似于微信的从上到下</li>
<li>pushslideleft-从右到左(push)</li>
<li>pushslideright-从左到右(push)</li>
<li>pushslideup-从下到上(push)</li>
<li>pushslidedown-从上到下(push)</li>
<li>material-Android Material的风格<h2>其他功能</h2></li>
<li>页面之间的传值</li>
<li>点击事件是否交由框架处理</li>
<li>ajax内容预加载</li>
<li>新增页面是否增加历史栈</li>
<li>功能可以通过配置和api两种方式进行调用</li>
</ol>
</article>

</section>

</div>

<nav>
    <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BorasdCast.html">BorasdCast</a></li><li><a href="CtMobile.html">CtMobile</a></li><li><a href="CtMobileFactory.html">CtMobileFactory</a></li><li><a href="Page.html">Page</a></li><li><a href="Router.html">Router</a></li></ul><h3>Tutorials</h3><ul><li><a href="tutorial-config.html">配置</a></li><li><a href="tutorial-introduction.html">自述</a></li><li><a href="tutorial-tutorial.html">指南</a></li></ul>
</nav>

<br class="clear">

<footer>
    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sun Nov 25 2018 09:00:21 GMT+0800 (中国标准时间)
</footer>

<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>